﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NHibernate;
using NHibernate.Criterion;

namespace DataLayer.Interfaces
{
    public interface INHibernateModel : IDataModel
    {
        IList<T> GetByCriterion<T>(List<ICriterion> criterion) where T : class;
        void InsertOrUpdate<T>(T target, int id) where T : class;
        void InsertOrUpdate<T>(List<T> list) where T : class;
        ISessionFactory GetSessionFactory();
        void Delete<T>(List<T> list) where T : class;
    }
}
